Computer systems perform a variety of functions including data acquisition, data processing and display of graphical images. The ability to integrate different external sources under control of a central processing unit generates a variety of applications for computer systems. For example, computers find applications in video teleconferencing. In order to utilize a computer system for video teleconferencing, video data are captured at a remote source and at the host computer system. The captured video data are transmitted from a remote source to the computer system. The display monitor within the computer system provides a means to display video data. In addition, video data are transmitted from the remote source to the computer system for display in the remote source.
The capture and display of video data requires the handling of two high-bandwidth real time data streams. In order to attain the necessary memory bandwidth, current solutions require wide (32 bits) arrays of memories (DRAM or VRAM). In addition, the memory arrays are often organized in multiple interleaved banks. Current state of the art DRAMs may provide peak transfer rates of 100 Mbytes per second, and realistic aggregate data transfers on the order of 60-80 Mbytes per second for 32 bit non interleaved arrays. The video capture data rate for unscaled national television standard committee (NTSC) square pixel data is approximately 25 Mbytes per second during the active portion of a scan line. The video display data rate is dependent on the display supported, and for the VESA standard, 1024.times.768.times.8 bpp @70 Hz, the data rate is 75 Mbytes per second during the active portion of the scan line. In order to support the capture and display data streams in a 32 bit non interleaved DRAM array, extremely large FIFOs for both data streams are required. However, the large FIFOs can cause long latencies for other processors and operations that require access to the memory. In the absence of these large FIFOs, the size of the display supported and the amount of unscaled input video data is compromised.
Although utilizing 32 bit interleaved or 64 bit non-interleaved memory arrays increases the available memory bandwidth, it increases the total minimum memory size and the incremental memory size. In many cases, the incremental memory size, which is dependent on the selected memory device, is greater than the amount of memory required for the application. Generally, the memory cannot be used for any other purpose in the system thereby resulting in additional cost without additional benefit.